package Objetos;

import java.io.IOException;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.RepaintManager;

public class Paquetes implements Serializable {
	private int idPaquete;
	private String CiudadOrigen;
	private String CiudadDestino;
	private String AeroOrigen;
	private String AeroDestino;
	private String Avion;
	private int localidades;
	private int locDisponibles;
	private String fechaDesde;
	private String fechaHasta;
	private int precio;
	                             	
	public Paquetes(int idPaquete, String ciudadOrigen, String ciudadDestino, String AeroOrigen, String AeroDestino, String Avion, int localidades, int locDisponibles, String fDesde, String fHasta, int precio ){
		this.setIdPaquete(idPaquete);
		this.setCiudadOrigen(ciudadOrigen);
		this.setCiudadDestino(ciudadDestino);
		this.setAeroOrigen(AeroOrigen);
		this.setAeroDestino(AeroDestino); 
		this.setAvion(Avion);
		this.setLocalidades(localidades);
		this.setLocDisponibles(locDisponibles);
		this.setFechaDesde(fDesde);
		this.setFechaHasta(fHasta);		
		this.setPrecio(precio);
		
	}
	
	public int getIdPaquete() {
		return idPaquete;
	}

	public void setIdPaquete(int idPaquete) {
		this.idPaquete = idPaquete;
	}

	public String getCiudadOrigen() {
		return CiudadOrigen;
	}

	public void setCiudadOrigen(String ciudadOrigen) {
		CiudadOrigen = ciudadOrigen;
	}

	public String getCiudadDestino() {
		return CiudadDestino;
	}

	public void setCiudadDestino(String ciudadDestino) {
		CiudadDestino = ciudadDestino;
	}

	public String getAeroOrigen() {
		return AeroOrigen;
	}

	public void setAeroOrigen(String aeroOrigen) {
		AeroOrigen = aeroOrigen;
	}

	public String getAeroDestino() {
		return AeroDestino;
	}

	public void setAeroDestino(String aeroDestino) {
		AeroDestino = aeroDestino;
	}

	public String getAvion() {
		return Avion;
	}

	public void setAvion(String avion) {
		Avion = avion;
	}

	public int getLocalidades() {
		return localidades;
	}

	public void setLocalidades(int localidades) {
		this.localidades = localidades;
	}

	public int getLocDisponibles() {
		return locDisponibles;
	}

	public void setLocDisponibles(int locDisponibles) {
		this.locDisponibles = locDisponibles;
	}

	public String getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(String fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public String getFechaHasta() {
		return fechaHasta;
	}

	public void setFechaHasta(String fechaHasta) {
		this.fechaHasta = fechaHasta;
	}

	public int getPrecio() {
		return precio;
	}

	public void setPrecio(int precio) {
		this.precio = precio;
	}

	
public ArrayList<Paquetes> obtenerPaquetes() throws SQLException{
		
		ArrayList<Paquetes> alPaquete = new	ArrayList<Paquetes>();	
		
			try{
				Conn c = new Conn();
				Connection connec = null;
				connec = DriverManager.getConnection(c.getHost() + c.getDbName(), c.getUser(), c.getPass());
						
				Statement st = connec.createStatement();				
				
				ResultSet rsPaquetes = st.executeQuery("select idPaquete, ciudadOrigen , ciudadaDestino, aeroOrigen, aeroDestino, avion, localidades, localidadesDisp, fechaDesde, fechaHasta, precio from paquetes");
				
				Paquetes paquete;
				while(rsPaquetes.next()){
					paquete  = new Paquetes(rsPaquetes.getInt("idPaquete"), rsPaquetes.getString("ciudadOrigen"), rsPaquetes.getString("ciudadaDestino"), rsPaquetes.getString("aeroOrigen"), rsPaquetes.getString("aeroDestino"), rsPaquetes.getString("avion"), rsPaquetes.getInt("localidades"), rsPaquetes.getInt("localidadesDisp"),  rsPaquetes.getString("fechaDesde"), rsPaquetes.getString("fechaHasta"), rsPaquetes.getInt("precio") );					
					alPaquete.add(paquete);
				}				
			
		}catch(SQLException e ){
			e.printStackTrace();
		}
		return alPaquete;				
	}	

	public void insertarPaquete(Paquetes objPaquete){
		 try {
			 Conn c = new Conn();
				Connection connec = null;
				connec = DriverManager.getConnection(c.getHost() + c.getDbName(), c.getUser(), c.getPass());
				Statement st = connec.createStatement();
				
	          st.executeUpdate("INSERT INTO paquetes (idPaquete, ciudadOrigen, ciudadaDestino, aeroOrigen, aeroDestino, avion, localidades, localidadesDisp, fechaDesde, fechaHasta, precio) values ('" + objPaquete.getIdPaquete() + "', '"+ objPaquete.getCiudadOrigen()+"', '"+ objPaquete.getCiudadDestino() +"','" + objPaquete.getAeroOrigen() +"','"+ objPaquete.getAeroDestino() +"','"+ objPaquete.getAvion() +"','"+ objPaquete.getLocalidades() +"','"+ objPaquete.getLocDisponibles() +"','"+ objPaquete.getFechaDesde()+"','" + objPaquete.getFechaHasta() +"','" + objPaquete.getPrecio() +"')" );
	          connec.close();        
	          
	        } catch(SQLException e){
	        	e.printStackTrace();
	        }		
	}
	public boolean verificar(int id){
		int result = 0;
		try{			
			Conn c = new Conn();
			Connection connec = null;
			connec = DriverManager.getConnection(c.getHost() + c.getDbName(), c.getUser(), c.getPass());
					
			Statement st = connec.createStatement();				
			
			ResultSet rsPaquetes = st.executeQuery("select 	1 valor from paquetes where idPaquete = " + id + " ");
		
			while(rsPaquetes.next()){			
				result = rsPaquetes.getInt("valor");			
			}				
		
		}catch(SQLException e ){
			e.printStackTrace();
		}
		if( result == 1){
			return true;				
		}else return false;		
	}
	
}
